var express = require('express')
var router = express.Router()

/* GET home page. */
router.get('/', function (req, res, next) {
  res.render('index', { title: 'Express' })
})

router.get('/test', function (req, res, next) {
  let data = {
    name: 'gongyz',
    age: 25,
    sex: 'man',
  }

  // 强缓存

  // 设置Expires
  // let time = new Date().getTime() + 1000 * 60 * 10 // 设置过期时间为 10分钟

  // res.header('Expires', new Date(time))

  // 设置Cache - Control
  // res.header('Cache-Control', 'max-age=10000')

  res.send(data)
})

// 301和302状态码都表示重定向，就是说浏览器在拿到服务器返回的
// 这个状态码后会自动跳转到一个新的URL地址，这个地址可以从响应
// 头的 Location 字段中获取（用户看到的效果就是他输入的地址A瞬间变
// 成了另一个地址B）——这是它们的共同点。他们的不同在于。301表示
// 旧地址A的资源已经被永久地移除了（这个资源不可访问了），搜索引
// 擎在抓取新内容的同时也将旧的网址交换为重定向之后的网址；302表
// 示旧地址A的资源还在（仍然可以访问），这个重定向只是临时地从旧
// 地址A跳转到地址B，搜索引擎会抓取新的内容而保存旧的网址。

router.get('/redirect', function (req, res, next) {
  // 永久重定向
  // res.redirect(301, 'http://www.baidu.com')
  // 临时重定向
  res.redirect(302, 'http://www.baidu.com')
})

module.exports = router
